【数据结构】链式队列的基本操作

您所在的位置:网站首页 python queueempty 【数据结构】链式队列的基本操作

【数据结构】链式队列的基本操作

2023-03-04 10:23| 来源: 网络整理| 查看: 265

#include "stdafx.h"#include#include#define LEN sizeof(struct#define#definetypedef int

//定义QNode为指针类型typedef struct QElemType data;structQNode *next;}*QueuePtr;

//front\rear为QNode的指针typedef struct{ QueuePtr front; QueuePtr rear;}LinkQueue;

//输出当前队列int{ QueuePtr p; p=Q.front;"当前的队列为:\n");while(p->next!=NULL) { p=p->next;"%d ",p->data); }"\n");returnOK;}

//建立空队列与入队的合并int InitQueue(LinkQueue& Q,intt){sizeof(QNode));if(!Q.front)return Q.front->next = NULL; QueuePtr q;inti;for(i=1;idata); Q.rear->next = q; Q.rear = q; Q.rear->next=NULL;} Queue_print(Q); returnOK;}

//元素入队int{ QueuePtr p;sizeof(QNode));"请输入一个入队元素\n");"%d",&p->data); Q.rear->next=p; p->next=NULL; Q.rear=p; Queue_print(Q); returnOK;}

//元素出队int{ QueuePtr p; p=Q.front->next; Q.front->next=p->next;if(Q.rear==p)Q.rear=Q.front;"首元素%d 出队\n",p->data); free(p); Queue_print(Q);returnOK;}

//查找队元素int Seek(LinkQueue& Q,int{inti=1; QueuePtr p; p=Q.front;while(p->next!=NULL) {p=p->next;if(t==p->data)"这是第%d个元素\n",i);elseprintf("这不是第%d个元素\n",i,t); i++; }returnOK;}

//元素排队int{inttemp; QueuePtr p,q;for(p=Q.front->next;p->next!=NULL;p=p->next)for(q=p->next;q->next!=NULL;q=q->next)if(p->data>q->data) {temp=p->data;p->data=q->data;q->data=temp;}} Queue_print(Q);returnOK;}

//主函数void{ LinkQueue Q;intt;"请一步步按照提示操作 (@_@) 绝对给力!!!\n");"请输入要入队元素的个数:\n");"%d",&t); InitQueue(Q,t);intflag=1,select;"====================菜单===========================\n");"= 1.元素入队 =\n");"= 2.元素出队 =\n");"= 3.查找队元素 =\n");"= 4.排队啦 =\n");"= 5.退出操作 =\n");"================支持乱序选择=======================\n");while(flag){"\n请选择菜单中的操作选项:\n");"%d",&select);switch(select) {case1:break;case2:break;case3:"请输入要查找的队中元素(显示它的位置是第几个):\n");"%d",&t);break;case4:"给队列元素按递增顺序排队\n");break;case5:break;default:printf("您输入的数据有误!\n"); }

}

}



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3